/// ========================================================================
/// ZUI: article.less
/// http://openzui.com
/// ========================================================================
/// Copyright 2014-2020 cnezsoft.com; Licensed MIT
/// ========================================================================


// DOCUMENT SITE STYLE
// ===================

// mixins

.chapter-accent(@color;
@pale) {
  .chapter-heading {
    color: @color;
    .icon {
      .opacity(.8);
    }
  }
  .card {
    &.choosed {
      border-color: @pale;
      border-color: fade(@color, 60%);
      box-shadow: 0 1px 6px fade(@color, 30%);
      &:before {
        background-color: @color;
      }
    }
  }
  .card-heading {
    > .icon {
      color: @color;
      border-color: @pale;
      &:hover {
        cursor: pointer;
      }
      &.text-icon {
        font-size: 12px;
      }
    }
    &.hover {
      background-color: @pale;
      > .icon {
        background-color: @color;
        border-color: @color;
        color: #fff;
        &:before {
          color: #fff;
        }
      }
    }
    &:hover {
      > h5 > .name {
        color: @color;
      }
    }
    > h5 > .name:hover {
      cursor: pointer;
    }
    > .btn-toggle {
      background-color: @pale;
      color: @color;
      &:hover {
        color: @pale;
        background-color: @color;
        cursor: pointer;
      }
    }
  }
  .card-content {
    > ul {
      > li {
        &:before {
          background-color: @pale;
        }
        &:hover {
          &:before {
            background-color: @color;
          }
          &:after {
            border-color: @color;
          }
        }
        > a[href^='#search/']:before {
          background-color: @pale;
          color: @color;
        }
        &.active > a,
        > a:hover {
          background-color: @pale;
        }
      }
    }
  }
  .color-accent {
    color: @color;
  }
  .card-content > ul > li > a[target="_blank"]:after,
  .card[data-target="external"] > .card-heading > h5 > a:after {
    display: inline-block;
    display: none\0;
    margin-left: 5px;
    .icon-zenicon();
    content: @icon-external-link;
    .opacity(0);
    .scale(.5);
    left: -10px;
    position: relative;
    .transition-fast(transform;
    opacity;
    left);
  }
  .card-content > ul > li > a[target="_blank"]:hover:after,
  .card[data-target="external"] > .card-heading.hover > h5 > a:after {
    left: 0;
    .opacity(1);
    .scale(1);
  }
}

.page-accent(@color;
@pale) {
  #pageHeader {
    > .wrapper > .icon {
      background-color: @color;
      color: #fff;
    }
  }
  #pageContent {
    > section {
      > header:before {
        background-color: @pale;
      }
      &.hover {
        > header {
          &:before {
            background-color: @color;
          }
          &:after {
            border-color: @color;
          }
          > h3 {
            color: @color;
          }
        }
        &:before {
          border-color: @color;
        }
      }
    }
  }
  #pageTogger {
    &:hover {
      border-color: @color;
      &:before,
      &:after {
        background-color: @color;
      }
    }
  }
}

.icon-xuanxuan {display: inline-block!important; width: 24px; height: 24px; background-size: cover; background-position: center; background-repeat: no-repeat; background-image: url("");}

.icon-10x { font-size: 140px; }

@animation-speed-quickly: .1s;
.transition-quickly() {
  .transition(all @animation-speed-quickly @animation-type);
}

.transition-quickly(@target) {
  .transition(@target @animation-speed-quickly @animation-type);
}

.transition-quickly(@target1;
@target2) {
  .transition(~"@{target1} @{animation-speed-quickly} @{animation-type}, @{target2} @{animation-speed-quickly} @{animation-type}");
}

.transition-quickly(@target1;
@target2;
@target3) {
  .transition(~"@{target1} @{animation-speed-quickly} @{animation-type}, @{target2} @{animation-speed-quickly} @{animation-type}, @{target3} @{animation-speed-quickly} @{animation-type}");
}

.transition-quickly(@target1;
@target2;
@target3;
@target4) {
  .transition(~"@{target1} @{animation-speed-quickly} @{animation-type}, @{target2} @{animation-speed-quickly} @{animation-type}, @{target3} @{animation-speed-quickly} @{animation-type}, @{target4} @{animation-speed-quickly} @{animation-type}");
}

.transition-quickly(@target1;
@target2;
@target3;
@target4;
@target5;
@target6) {
  .transition(~"@{target1} @{animation-speed-quickly} @{animation-type}, @{target2} @{animation-speed-quickly} @{animation-type}, @{target3} @{animation-speed-quickly} @{animation-type}, @{target4} @{animation-speed-quickly} @{animation-type}, @{target5} @{animation-speed-quickly} @{animation-type}, @{target6} @{animation-speed-quickly} @{animation-type}");
}

@media (min-width: 992px) {
  .col-md-d5 {
    width: 20%;
  }
}

.slide-in-up-100 {
  position: relative;
  top: 100px;
  &.in { top: 0; }
}

.slide-in-right-50 {
  position: relative;
  left: 50px;
  &.in { left: 0; }
}

.grow-up-in-height {
  &.show {
    height: 0;
    overflow: hidden;
    &.in { height: auto; }
  }
}

.margin-zero { margin: 0!important; }

// examples
@-webkit-keyframes glow {
  0% {
    -webkit-box-shadow: 0 0 12px rgba(71, 164, 71, 0.1);
    border-color: rgba(71, 164, 71, 0.9);
  }
  100% {
    -webkit-box-shadow: 0 0 18px rgba(26, 128, 26, 0.8), 0 0 12px rgba(71, 164, 71, 0.5);
    border-color: rgba(26, 128, 26, 1.0);
  }
}

.example {
  position: relative;
  padding: 20px;
  margin: 0 0 15px;
  border-style: solid;
  border: 1px solid #ddd;
  outline: none;
  transition: all 0.3s;
}

.example:focus,
.example [contenteditable]:focus {
  outline: none;
  box-shadow: 0px 1px 15px rgba(0, 0, 0, 0.5);
  -webkit-animation-name: glow;
  -webkit-animation-duration: 1s;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  -webkit-animation-timing-function: ease-in-out
}

.example.no-padding { padding: 0; }

.example.borderless { border: none; }

.example > *:last-child {
  margin-bottom: 0;
}

pre {
  margin-bottom: 15px;
  border-radius: 0;
  position: relative;
  border-color: #ddd;
  padding: 10px 20px;
  em {
    display: inline-block;
    font-weight: 700;
  }
  &:hover {
    em {
      background-color: @color-danger-pale;
    }
  }

  > code:before {
    position: absolute;
    top: 4px;
    right: 4px;
    font-size: 12px;
    line-height: 16px;
    padding: 0 4px;
    display: inline-block;
    transition: opacity .2s;
    color: #fff;
    border-radius: 2px;
    background-color: #bbb;
    background-color: rgba(0,0,0,.15);
    pointer-events: none;
  }

  &:hover > code:before {
    opacity: 0;
  }

  > code.lang-javascript:before,
  > code.lang-js:before {content: 'javascript';}
  > code.lang-html:before {content: 'html';}
  > code.lang-css:before {content: 'css';}
}

pre.linenums { padding: 10px; }

.example + pre,
pre + pre {
  margin: -15px 0 15px;
  border-radius: 0;
  border: 1px solid #DDD;
  border-top: none;
}

.copyable { position: relative; }

.btn-copy-code {
  position: absolute;
  right: 3px;
  top: 3px;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 3px;
  width: 28px;
  height: 28px;
  padding: 3px 0;
  line-height: 20px;
  text-shadow: none;
  opacity: 0;
  > .icon { line-height: 20px; }
  &:hover {
    background-color: @color-back;
    color: @color-secondary;
    border-color: @color-primary;
  }
}

pre:hover > .btn-copy-code,
.copyable:hover > .btn-copy-code,
.copyable.fixed-copy-btn > .btn-copy-code {
  opacity: 1;
}

.nav-examples {
  &.nav-tabs > li > a {
    border-radius: 0
  }
}

.nav-examples + .example {
  border-top-color: transparent;
}

a.avatar {
  display: block;
  width: 40px;
  height: 40px;
  text-align: center;
  background-color: #e5e5e5;
  border-radius: 4px;
  margin-top: 5px!important;
  color: #aaa!important;
  font-size: 30px;
  line-height: 40px;
}

body > .tooltip {
  z-index: 9999
}

a.avatar > i {
  font-size: 28px
}

a.avatar:hover {
  text-decoration: none
}

.loader {
  color: @color-gray;
  .transition-normal();
  text-align: center;
  padding: 0;
  .opacity(0);
  height: 0;
  overflow: hidden;
  .scale(.5);
  > .icon {
    font-size: 42px;
    display: block;
    height: 50px;
    width: 50px;
    line-height: 50px;
    margin: 0 auto;
  }
  &.loading,
  &.with-error {
    padding: 80px 0;
    .opacity(1);
    height: auto;
    .scale(1);
  }
  &.loading {
    > .error-text {
      display: none;
    }
  }
  &.with-error {
    > .icon-spin {
      -moz-animation: none;
      -o-animation: none;
      -webkit-animation: none;
      animation: none;
      &:before {
        content: @icon-exclamation-sign;
      }
    }
    > .error-text {
      display: inline;
    }
    > .loading-text {
      display: none;
    }
  }
}

.template {
  display: none
}

.path-zui-36 {
  display: inline-block;
  background-color: #fff;
  border-radius: 18px;
  height: 36px;
  width: 36px;
  position: relative;
  overflow: hidden;
  &:before,
  &:after {
    content: ' ';
    display: block;
    position: absolute;
    border: 2px solid @color-primary;
    left: 11px;
    width: 14px;
    height: 4px;
  }
  &:before {
    top: 9px;
    border-bottom: none;
  }
  &:after {
    top: 23px;
    border-top: none;
  }
  .path-1,
  .path-2,
  .path-1:before,
  .path-1:after,
  .path-2:before {
    display: block;
    content: ' ';
    position: absolute;
    width: 2px;
    height: 2px;
    background-color: @color-primary;
  }
  .path-1 {
    left: 15px;
    top: 19px;
  }
  .path-1:before,
  .path-2:before {
    left: -2px;
    top: 2px;
  }
  .path-1:after {
    left: 2px;
    top: -2px;
  }
  .path-2 {
    left: 21px;
    top: 13px;
  }
}

.path-btn {
  border-radius: 0;
  &:focus,
  &:active {
    outline: none;
    background: none;
  }
  &:before,
  &:after,
  > .path-1,
  > .path-1:before,
  > .path-1:after {
    .transition-fast();
    position: absolute;
    content: ' ';
    display: block;
    height: 2px;
    width: 10px;
    border: 2px solid @color-gray;
    border: 2px solid rgba(0, 0, 0, 0.4);
    left: 19px;
    top: 18px;
  }
  &:after {
    top: 26px;
  }
  > .path-1 {
    top: 22px;
    left: 23px;
  }
  > .path-1:before,
  > .path-1:after {
    left: -4px;
    top: -2px;
    width: 6px;
  }
  > .path-1:after {
    top: 2px;
  }
  &:hover {
    background-color: @color-gray-lighter;
    background-color: rgba(0, 0, 0, 0.1);
    &:before,
    &:after,
    > .path-1,
    > .path-1:before,
    > .path-1:after {
      border-color: @color-fore;
      transform: rotate(180deg);
    }
    &:before {
      top: 26px;
    }
    &:after {
      top: 18px;
    }
    > .path-1 {
      left: 15px;
    }
    > .path-1:before {
      top: 2px;
      left: -4px;
    }
    > .path-1:after {
      top: -2px;
      left: -4px;
    }
  }
  &.path-close-btn {
    &:before,
    &:after,
    > .path-1,
    > .path-1:before,
    > .path-1:after {
      border-top: 0;
      border-bottom: 0;
    }
    > .path-1 {
      border-right: 0;
    }
  }
}

// .path-max-btn {
//   &:before, &:after, > .path-1, > .path-1:before, > .path-1:after {
//     height: 6px;
//     width: 6px;
//     left: 12px;
//     top: 18px;
//   }
//   &:before {
//     border-right: 0;
//     border-bottom: 0;
//   }
//   &:after {
//     left: 16px;
//     border-left: 0;
//     border-bottom: 0;
//   }
//   > .path-1 {
//     top: 22px;
//     border-right: 0;
//     border-top: 0;
//   }
//   > .path-1:before{
//     border-top: 0;
//     border-left: 0;
//     top: 0px;
//     left: 2px;
//   }
//   > .path-1:after {
//     width: 10px;
//     height: 10px;
//     left: -2px;
//     top: -4px;
//   }
//   &:hover {
//     &:before, &:after, > .path-1:before, > .path-1 {
//       transform: rotate(0deg);
//     }
//     &:before {
//       top: 16px;
//       left: 10px;
//     }
//     &:after {
//       top: 16px;
//       left: 18px;
//     }
//     > .path-1 {
//       top: 24px;
//       left: 10px;
//     }
//     > .path-1:before {
//       top: 0px;
//       left: 6px;
//     }
//     > .path-1:after {
//       width: 4px;
//       height: 4px;
//       top: -3px;
//       left: 3px;
//     }
//   }
// }
body {
  .transition-fast(background);
}

#header {
  color: #fff;
  margin-bottom: 20px;
  padding-top: 80px;
  .transition-fast(padding;
  height;
  background-color);
  small {
    .opacity(.65);
  }
}

#navDownloadLink {
  visibility: hidden;
}

#navbar {
  > .container {
    position: relative;
  }
  .transition-normal(padding-top);
  padding: 20px 0;
  border-bottom: none;
  &.navbar-inverse {
    background: none;
    .navbar-toggle {
      border: none;
      border-radius: 0;
    }
  }
  .navbar-nav > li > a {
    &:hover,
    &:focus {
      background-color: rgba(0, 0, 0, .2);
    }
    line-height: 20px;
    height: 40px;
    border-radius: 4px;
    > .icon {
      font-size: 18px;
      position: relative;
      top: 2px;
      display: inline-block;
    }
  }
  .navbar-brand {
    position: relative;
    padding-left: 58px;
  }
  .path-zui-36 {
    position: absolute;
    top: 0;
    left: 10px;
  }
  .navbar-collapse {
    &.in,
    &.collapsing {
      #navDownloadLink {
        visibility: visible;
      }
      background-color: #fff;
      margin-top: 10px;
      border: none;
      width: 150px;
      float: right;
      box-shadow: 0 6px 12px rgba(0, 0, 0, .175);

      position: relative;
      overflow: visible;
      &:before {
        content: ' ';
        display: block;
        position: absolute;
        width: 0;
        height: 0;
        top: -20px;
        right: 20px;
        border-width: 10px;
        border-style: dashed dashed solid dashed;
        border-color: transparent transparent #fff transparent;
      }
      .navbar-nav > li > a {
        color: @color-fore;
        .opacity(0);
      }
    }
    &.in .navbar-nav > li > a {
      .opacity(1);
    }
  }
}

#compactTogger {
  display: none;
  font-size: 18px;
}

#heading {
  text-align: center;
  position: relative;
  overflow: hidden;
  > h1 {
    font-size: 48px;
    font-weight: normal;
    margin-top: 0;
  }
  > p {
    .opacity(.65);
  }
}

#download {
  > .btn-lg {
    border-color: #e5e5e5;
    border-color: rgba(255, 255, 255, .65);
    margin-bottom: 15px;

    + .btn { margin-left: 10px }

    > .icon {
      position: relative;
      margin-left: 6px;
      margin-right: -3px;
      top: -1px;
    }

    &.btn-white {
      background: #fff;
      color: @color-primary;
      opacity: .9;

      &:hover,
      &:focus,
      &:active {
        opacity: 1;
        color: @color-secondary;
      }
    }
  }
  padding-top: 20px;
  text-align: center;
}

#search {
  max-width: 800px;
  margin: 0 auto;
  padding: 60px 20px 70px;
}

#searchForm {
  position: relative;
  > .icon {
    position: absolute;
    left: 14px;
    top: 14px;
    .opacity(.65);
    display: block;
    width: 16px;
    text-align: center;
    height: 16px;
    color: #fff;
  }
}

#searchInput {
  // .transition-quickly();
  background: none;
  border-radius: 21px;
  padding-left: 40px;
  border: 1px solid #e5e5e5;
  border-color: rgba(255, 255, 255, .6);
  color: #fff;
  .placeholder(#e5e5e5);
  .placeholder(rgba(255, 255, 255, .5));
  &:focus {
    border-color: #fff;
    background-color: rgba(255, 255, 255, .1);
    @shadow: inset 0 1px 1px rgba(0, 0, 0, .075),
    0 0 6px lighten(rgba(0, 0, 0, .275), 20%);
    box-shadow: @shadow;

  }
}

#searchHelpBtn {
  position: absolute;
  right: 4px;
  top: 3px;
  text-align: center;
  border-radius: 20px;
  width: 36px;
  height: 36px;
  line-height: 36px;
  padding: 0;
  color: #fff;
  .opacity(.65);
  outline: none;
  &:hover,
  &:active,
  &:focus {
    background-color: #808080;
    background-color: rgba(0, 0, 0, .5);
  }
  > .icon {
    font-size: 18px;
  }
}

#search.with-query-text #searchHelpBtn {
  > .icon:before {
    content: @icon-remove;
  }
}

#ad {
  transition: opacity .2s;
  padding-bottom: 20px;
  margin-top: -50px;

  > a {
    opacity: .8;
    color: #fff;
    display: block;
    padding: 10px;
    background: rgba(0,0,0,.15);
    border-radius: @border-radius-base;
    font-size: 14px;
    width: 340px;
    margin: 0 auto;
    position: relative;
    overflow: hidden;

    &:after,
    &:before {
      content: ' ';
      position: absolute;
      top: 0;
      bottom: 0;
      transform: skewX(-45deg) translate(-120px,0);
      width: 100px;
      left: 0;
      background-color: rgba(255,255,255,.2);
      opacity: 1;
      transition: transform .3s, opacity .3s;
    }

    &:after {
      top: 20px;
      right: 0;
      transform: none;
      width: auto;
      background-color: rgba(0,0,0,.1);
    }

    &:hover,
    &:focus {
      opacity: 1;
      background: rgba(0,0,0,.2);
      text-decoration: none;
      box-shadow: rgba(0,0,0,.12) 0 1px 6px,rgba(0,0,0,.15) 0 1px 4px;

      &:before {
        opacity: 1;
        transform: skewX(-45deg) translate(360px,0);
      }
    }
  }
}

#xuanxuan {
  position: relative!important;
  padding-left: 33px!important;
  padding-right: 0!important;
  background-image: url()!important;
  transition: all .3s;

  .icon-xuanxuan {
    display: block!important;
    position: absolute;
    top: 9px;
    left: 10px;
  }

  &:hover {
    background-image: url()!important;
    background-color: transparent!important;
  }
}

body.ad-hover.ad-xuanxuan {
  #download .btn-primary,
  #header {
    transition: .5s background-color;
    background-color: rgb(145, 43, 255)!important;
  }
  #download .btn-white {color: rgb(145, 43, 255)!important;}
}

#grid {
  position: relative;
  > .container {
    > .row > .col {
      &.hide {
        display: block;
        width: 0;
        .opacity(0);
        padding: 0;
      }
    }
    > .row + .row {
      padding-top: 10px;
      border-top: 1px solid @color-gray-pale;
    }
  }
  .chapter {
    margin-bottom: 30px;
  }
  .chapter-heading {
    > h4 {
      margin-bottom: 15px;
      > .name {
        cursor: pointer;
        &:after {
          .icon-zenicon();
          display: inline-block;
          display: none\0;
          margin-left: 5px;
          content: @icon-double-angle-right;
          position: relative;
          left: -10px;
          .opacity(0);
          .transition-fast(opacity;
          left);
        }
        &:hover:after {
          left: 0;
          .opacity(1);
        }
      }
    }
  }
  .card {
    background-color: #fff;
    .transition-quickly(border;
    height;
    transform;
    top;
    left;
    opcity);
    display: none;
    margin-bottom: 0;
    border-color: #fff;
    box-shadow: none;
    &.show {
      display: block;
    }
    &.choosed {
      border-color: #808080;
      &:before {
        .transition-quickly(right);
        content: 'Enter';
        display: block;
        position: absolute;
        right: -100%;
        top: 0;
        padding: 3px 8px;
        color: #fff;
        border-radius: 0 3px 0 3px;
      }
    }
    &[data-target="external"].choosed:before {
      content: 'Enter';
    }
    &[data-target=""].choosed:before {
      display: none;
    }
    &:hover,
    &.open {
      border-color: @color-gray-lighter;
    }
    &.open {
      margin-bottom: 5px;
    }

    &.section-new,
    &.section-update {
      > .card-heading:before {
        display: block;
        content: ' ';
        width: 29px;
        height: 9px;
        background: @color-yellow url("") no-repeat 0 -10px;
        position: absolute;
        left: 5px;
        top: 5px;
        box-shadow: 0 0 0 1px #fff;
        border-radius: 2px;
        z-index: 12;
      }
    }
    &.section-new {
      > .card-heading:before {
        width: 18px;
        background-color: @color-red;
        background-position: 0 0;
      }
    }
  }
  .card-heading {
    .transition-quickly(background-color);
    position: relative;
    padding: 8px 8px 8px 50px;
    > .icon {
      .transition-quickly(background-color;
      color);
      border: 1px solid @color-gray-pale;
      background-size: contain;
      background-position: center;
      position: absolute;
      width: 30px;
      height: 30px;
      line-height: 28px;
      border-radius: 16px;
      text-align: center;
      left: 10px;
      top: 5px;
      z-index: 10;
      font-style: normal;
      &.with-img {
        .opacity(.8);
        background-color: transparent!important;
        background-size: 75%;
        background-repeat: no-repeat;
        &:hover {
          .opacity(1);
        }
      }
      &:before {
        position: relative;
      }
    }
    > h5 {
      .transition-quickly(padding;
      color);
      line-height: 15px;
      font-size: 15px;
      margin: 0;
      padding: 5px 0;
      font-weight: normal;
      > a.name {
        color: @color-fore;
      }
    }
    > small {
      font-size: 12px;
      display: none;
      min-height: 18px;
      white-space: normal;
      max-height: 48px;
      position: relative;
    }
    &:hover {
      > .btn-toggle {
        right: 0;
        width: 64px;
      }
    }
    &.hover {
      background-color: @color-gray-pale;
      > .icon {
        background-color: @color-gray;
        color: #fff;
      }
    }
  }
  .card.choosed .card-heading > h5,
  .card.open .card-heading > h5 {
    font-weight: bold;
  }
  .card-content {
    height: 0;
    padding: 0 10px;
    .transition-quickly(padding;
    height);
    overflow: hidden;
    > ul {
      list-style: none;
      padding: 0;
      margin: 0;
      position: relative;
      &:before {
        .opacity(0);
        z-index: 5;
        position: absolute;
        display: block;
        content: ' ';
        left: 15px;
        top: -10px;
        bottom: 14px;
        border-left: 1px dotted @color-gray-lighter;
      }
      > li {
        position: relative;
        padding: 0;
        > a {
          color: @color-fore;
          display: block;
          padding: 5px 0 5px 40px;
          border-radius: 4px;
          > .icon {
            display: inline-block;
            width: 20px;
            text-align: center;
          }
          &:hover,
          &:active,
          &:focus {
            text-decoration: none;
          }
          &[href^='#search/']:before {
            .icon-zenicon();
            display: block;
            content: '\e603';
            background-color: @color-gray-lighter;
            border-radius: 12px;
            width: 24px;
            height: 24px;
            left: 3px;
            top: 2px;
            z-index: 100;
            color: @color-gray;
            line-height: 22px;
            text-align: center;
            position: absolute;
          }
        }
        &.active > a,
        > a:hover {
          background-color: @color-gray-pale;
          color: @color-fore;
        }
        &:before {
          .transition-quickly(transform;
          background-color);
          position: absolute;
          display: block;
          content: ' ';
          width: 8px;
          height: 8px;
          border-radius: 4px;
          background-color: @color-gray-lighter;
          left: 12px;
          top: 10px;
          z-index: 12;
        }
        &:after {
          position: absolute;
          display: block;
          content: ' ';
          border-bottom: 1px dotted @color-gray-lighter;
          width: 20px;
          left: 15px;
          top: 14px;
          z-index: 11;
        }
        &:hover,
        &.active {
          &:before {
            .scale(1.25);
          }
        }
      }
      &[data-view="icons"] {
        .clearfix-mixin();
        > li {
          float: left;
          &:before,
          &:after {
            display: none
          }
          > a {
            position: relative;
            text-indent: -999em;
            padding: 5px;
            width: 30px;
            height: 30px;
            overflow: hidden;
            &:hover {
              .scale(2);
              z-index: 1;
            }
            > .icon {
              display: block;
              position: absolute;
              text-indent: 0;
              width: 100%;
              height: 30px;
              line-height: 30px;
              top: 0;
              left: 0;
            }
          }

          &.control-icon-shaped > a {
            width: 60px;
          }
        }
      }
      // &[data-view="grid"] {
      //   .clearfix();
      //   > li {
      //   }
      // }
    }
  }
  .section-search {
    height: 0;
    padding: 0;
    &:before {
      content: "没有找到，请更改关键字重新检索。";
      display: block;
      position: absolute;
      padding: 0 10px;
      top: 0;
      right: 0;
      height: 30px;
      line-height: 30px;
      background-color: @color-red-pale;
      color: @color-red;
    }
  }
  .card.section-preview-show .section-search:before {
    display: none
  }
  .section-preview {
    background-color: @color-gray-pale;
    height: 0;
    padding: 0;
    &.icon-preview {
      > .icons {min-height: 140px;}
      > .icons > .icon {
        display: inline-block;
        margin: 0 15px;
        text-align: center;
        line-height: 1;
      }
      > h3 {
        padding: 0 10px;
      }
      > pre {
        margin-left: 10px;
        max-width: 400px;
      }
    }

    &.show-shaped-icon {
      .icon-10x {font-size: 56px;}
      .icon-5x {font-size: 42px;}
      .icon-2x {font-size: 28px;}
    }
  }

  .card.open {
    .card-heading {
      > .icon:after {
        content: ' ';
        display: block;
        position: absolute;
        border-left: 1px dotted @color-gray-lighter;
        height: 999px;
        left: 18px;
        top: 36px;
      }
      > small {
        max-height: none;
      }
    }
    .card-content {
      padding: 10px;
      height: auto;
      border-top: 1px dashed @color-gray-pale;
      box-shadow: inset 0 10px 64px rgba(0, 0, 0, 0.03);
      &.section-search,
      &.section-preview {
        height: 0;
        padding: 0;
      }
      > ul {
        &:before {
          .opacity(1);
        }
      }
    }
    &.without-topics {
      .card-heading {
        > .icon:after {
          display: none;
        }
      }
      .card-content {
        padding: 0;
        height: 0;
        border-top: none;
      }
    }
  }
  .chapter[data-accent="blue"] {
    .chapter-accent(@color-blue;
    @color-blue-pale);
  }
  .chapter[data-accent="primary"] {
    .chapter-accent(@color-primary;
    @color-pale);
  }
  .chapter[data-accent="yellow"] {
    .chapter-accent(@color-yellow;
    @color-yellow-pale);
  }
  .chapter[data-accent="green"] {
    .chapter-accent(@color-green;
    @color-green-pale);
  }
  .chapter[data-accent="red"] {
    .chapter-accent(@color-red;
    @color-red-pale);
  }
  .chapter[data-accent="brown"] {
    .chapter-accent(@color-brown;
    @color-brown-pale);
  }
  .chapter[data-accent="purple"] {
    .chapter-accent(@color-purple;
    @color-purple-pale);
  }
}

body.input-query-focus {
  #grid .card.choosed:before {
    right: 0;
  }
}

body.query-enabled {
  #grid > .container > .row + .row {
    padding-top: 0;
    border-top: none;
  }
  &[data-query='icons'] {
    #section-control-icons {
      .card-heading > .icon:before {
        content: @icon-search
      }
    }
    #grid .card.open {
      &.section-preview-show .card-content.section-preview,
      .card-content.section-search {
        height: auto;
        padding: 10px;
      }
      &.section-preview-show .section-preview.icon-preview {
        padding: 20px 10px 10px;
      }
    }
  }
}

@media (min-width: 768px) {
  body.query-enabled {
    #grid {
      &[data-show-col='1'] {
        > .container > .row > .col {
          float: none;
          // min-width: 780px;
          width: 100%;
          margin: 0 auto;
          &.hide {
            width: 0;
          }
        }
      }
    }
  }
}

@media (min-width: 992px) {
  body.query-enabled {
    #grid {
      &[data-show-col='1'] {
        > .container > .row > .col {
          float: none;
          max-width: 780px;
          margin: 0 auto;
          &.hide {
            width: 0;
          }
        }
      }
      &[data-show-col='2'] {
        > .container > .row > .col {
          width: 50%;
          &.hide {
            width: 0;
          }
        }
      }
      &[data-show-col='3'] {
        > .container > .row > .col {
          width: 33.333333333333%;
          &.hide {
            width: 0;
          }
        }
      }
      &[data-show-col='4'] {
        > .container > .row > .col {
          width: 25%;
          &.hide {
            width: 0;
          }
        }
      }
    }
  }
}

#page {
  position: fixed;
  background-color: #fff;
  left: 0;
  right: 0;
  bottom: 0;
  top: 60px;
  z-index: 1000;
  display: none;
  overflow-y: auto;
  .loader {
    .transition(none);
  }
}

#pageHeader {
  background-color: @color-gray-pale;
  border-bottom: 1px solid @color-gray-lighter;
  position: relative;
  padding: 0;
  height: 60px;
  > .container {
    position: relative;
    padding: 12px 20px 12px 54px;
    > .icon {
      position: absolute;
      width: 36px;
      height: 36px;
      line-height: 36px;
      border-radius: 18px;
      text-align: center;
      left: 6px;
      top: 12px;
      z-index: 10;
      font-style: normal;
      color: @color-gray;
      background-color: @color-gray-lighter;
    }
    > h2 {
      padding: 10px 0;
      line-height: 16px;
      font-size: 20px;
      margin: 0;
      > a.name {
        color: @color-fore;
        &:hover {
          text-decoration: none;
          color: @color-fore;
          cursor: normal;
        }
      }
    }
  }
  > .path-max-btn {
    right: 48px;
    width: 36px;
  }
}

#pageCloseBtn {
  position: absolute;
  right: 15px;
  top: 5px;
  width: 48px;
  height: 48px;
  border-radius: 4px;
}

#pageReloadBtn {
  position: absolute;
  right: 70px;
  top: 5px;
  width: 48px;
  height: 48px;
  color: @color-gray;
  display: none;

  &:hover {color: @color-fore}
}

#pageBody {
  padding: 15px 0;
  position: absolute;
  top: 60px;
  bottom: 0;
  width: 100%;
  overflow-y: auto;
}

#pageAttrs {
  padding: 0 0 10px 23px;
  // background-color: @color-gray-pale;
  margin: 0 0 20px 21px;
  border-bottom: 4px double @color-gray-pale;
  .badge {
    float: left;
    background-color: @color-gray-pale;
    margin-right: 10px;
    padding: 6px 10px;
    min-width: 40px;
    text-align: center;
    border-radius: @border-radius-base;
    .opacity(.8);
    line-height: 20px;
    .transition-fast();
    &.btn {
      border: none;
    }
    &[data-toggle='dropdown'] {
      position: relative;
      &:before {
        content: ' ';
        display: block;
        position: absolute;
        right: 1px;
        bottom: 1px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 6px 6px;
        border-color: transparent transparent #ccc transparent;
        .transition-fast(border);
        border-bottom-color: rgba(0, 0, 0, 0.15);
      }
      &:hover:before {
        border-bottom-color: rgba(0, 0, 0, 0.35);
      }
    }
    &.pull-right {
      margin-right: 0;
      margin-left: 10px;
    }
    &:hover {
      .opacity(1);
      background-color: @color-gray-lighter;
      text-decoration: none;
    }
    &.badge-zui {
      background-color: @color-pale;
      color: @color-primary;
      &:hover {
        background-color: darken(@color-pale, 5%);
      }
    }
    &.badge-lite {
      background-color: @color-blue-pale;
      color: @color-blue;
      &:hover,
      &:active,
      &:focus {
        background-color: darken(@color-blue-pale, 5%);
      }
    }
    &.badge-lib {
      background-color: @color-green-pale;
      color: @color-green;
      &:hover {
        background-color: darken(@color-green-pale, 5%);
      }
    }
    &.badge-party {
      background-color: @color-red-pale;
      color: @color-red;
      &:hover {
        background-color: darken(@color-red-pale, 5%);
      }
    }
    &.badge-bootstrap {
      background-color: @color-purple-pale;
      color: @color-purple;
      &:hover {
        background-color: darken(@color-purple-pale, 5%);
      }
    }
    &.badge-custom {
      background-color: @color-brown-pale;
      color: @color-brown;
      &:hover {
        background-color: darken(@color-brown-pale, 5%);
      }
    }
    &.badge-code {
      background-color: @color-pale;
      color: @color-primary;
      &:hover {
        background-color: darken(@color-pale, 5%);
        &:before {
          border-bottom-color: @color-primary;
        }
      }
      &[data-type="has-source-bundles"] {
        .badge-code-pkgs {
          display: inline-block;
          margin-left: 8px;
        }
      }
    }
  }
  .dropdown-menu {
    overflow: hidden;
    padding-top: 0;
    > li > a {
      padding-left: 30px;
      padding-right: 10px;
      position: relative;
      &:before {
        position: absolute;
        display: block;
        left: 15px;
        top: 9px;
        border-radius: 4px;
        content: ' ';
        width: 8px;
        height: 8px;
        background: #ddd;
      }
    }
  }
  .dropdown-header {
    color: #999;
    padding-left: 15px;
    padding-right: 15px;
    &.primary-header {
      color: #fff;
      padding-top: 8px;
      padding-bottom: 8px;
      background-color: @color-pale;
      color: @color-primary;
      &[data-type="source"] {
        color: @color-blue;
        // background-color: @color-blue-pale;
      }
      &[data-type="bundles"] {
        color: @color-green;
        // background-color: @color-green-pale;
      }
    }
  }

  @media (max-width: 767px) {
    margin: 0 0 10px 0;
    padding-left: 0;
    padding-bottom: 10px;
    > .pull-right {
      margin: 0 0 5px 5px !important;
    }
    .badge {
      margin-right: 5px;
      margin-left: 0;
      padding: 5px;
      min-width: 30px;
    }
    > .badge {
      margin-bottom: 5px;
    }
  }
}

#pageContent {
  padding-left: 44px;
  position: relative;
  &:before {
    position: absolute;
    content: ' ';
    display: block;
    border-left: 1px dotted @color-gray-lighter;
    left: 20px;
    top: -250px;
    bottom: 0;
  }
  > section {
    position: relative;
    &:before {
      position: absolute;
      content: ' ';
      display: block;
      border-left: 1px dotted transparent;
      left: -24px;
      top: 28px;
      bottom: -25px;
    }
    &:last-child:before {
      bottom: 0;
    }
    > header {
      position: relative;
      padding-top: 20px;
      padding-bottom: 10px;
      > h3 {
        margin: 0;
        display: inline-block;
        cursor: pointer;
        &:before,
        &:after {
          position: absolute;
          content: ' ';
          left: -24px;
          top: 25px;
          .transition-fast(background-color);
        }
        &:before {
          display: none;
          width: 1px;
          height: 7px;
        }
        &:after {
          width: 7px;
          height: 1px;
          top: 28px;
          left: -27px;
        }
      }
      &:before {
        position: absolute;
        content: ' ';
        display: block;
        left: -29px;
        top: 23px;
        width: 11px;
        height: 11px;
        background-color: @color-gray-light;
        border-radius: 5px;
        .transition-fast(background-color);
      }
      &:after {
        position: absolute;
        content: ' ';
        display: block;
        width: 16px;
        border-bottom: 1px dotted @color-gray-lighter;
        left: -18px;
        top: 28px;
      }
    }
    &.hover {
      > header {
        h3 {
          &:before,
          &:after {
            background-color: #fff;
          }
        }
      }
      &.collapsed > header > h3:before {
        display: block;
      }
    }
    > article {
      height: auto;
      .transition-fast(opacity;
      height);
    }
    &.collapsed {
      &:before {
        display: none;
      }
      > article {
        height: 0;
        .opacity(0);
        overflow: hidden;
      }
    }
  }
  > article > .alert,
  > section > article > .alert {
    border: none;
    border-radius: 0;
    code {
      background-color: rgba(255, 255, 255, .2);
      border-color: rgba(0, 0, 0, .1);
    }
  }
}

#pageTogger {
  position: absolute;
  bottom: -36px;
  left: 15px;
  width: 19px;
  height: 19px;
  padding: 0;
  border-radius: 10px;
  background-color: #fff;
  color: @color-gray-light;
  z-index: 10;
  border: 1px solid @color-gray-lighter;
  outline: none;
  &:before,
  &:after {
    .transition-normal(background-color);
    position: absolute;
    display: block;
    content: ' ';
    left: 4px;
    top: 4px;
    background-color: @color-gray-light;
  }
  &:before {
    height: 9px;
    width: 1px;
    left: 8px;
    display: none;
  }
  &:after {
    width: 9px;
    top: 8px;
    height: 1px;
  }

  @media (max-width: 767px) {
    display: none;
  }
}

#page.page-collapsed {
  #pageTogger:before {
    display: block;
  }
}

#page.loading {
  #pageTogger {
    display: none
  }
  #pageContent {
    .opacity(0);
  }
}

body.compact-mode {
  #compactTogger {
    display: inline-block;
    margin-left: 8px;
    .transition-fast(top;
    );
    .opacity(0);
    position: relative;
    top: -60px;
  }
  #heading {
    .transition-fast(height);
  }
  #search {
    .transition-fast(opacity);
    .opacity(0);
    padding: 0;
    position: absolute;
    left: 180px;
    top: 12px;
    z-index: 1050;
    max-width: 500px;
    right: 220px;
  }
  #searchInput {
    border-width: 1px;
    height: 36px;
    font-size: 14px;
  }
  #searchForm {
    .opacity(0);
    .scale(.75);
  }
  #searchForm > .icon {
    top: 10px;
  }
  #searchHelpBtn {
    width: 30px;
    height: 30px;
    line-height: 30px;
    top: 3px;
    right: 3px;
  }
  #header {
    z-index: 1010;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 483px;
  }
  #headContainer > .container {
    position: relative;
  }
  #grid {
    .transition-fast(margin-top);
    margin-top: 503px;
  }
  #ad {
    opacity: 0;
  }
  &.compact-mode-in {
    #navbar {
      padding-top: 10px;
      .navbar-nav > li > a {
        width: 40px;
        padding: 10px;
        text-align: center;
        > span {
          display: none;
        }
      }
      .navbar-collapse {
        &.in,
        &.collapsing {
          .navbar-nav > li > a {
            padding: 10px 15px;
            width: auto;
            text-align: left;
            > span {
              display: inline;
            }
          }
        }
      }
    }
    #navDownloadLink {
      visibility: visible;
    }
    #compactTogger {
      .opacity(1);
      top: 1px;
    }
    @media (min-width: 768px) {
      #langSwitcher > a {
        padding: 10px 0!important;

        [lang="zh-cn"] & {
          width: 50px!important;
        }

        > .icon {display: none}
        > span {
          display: inline-block!important;
          background: #fff;
          color: @color-primary;
          line-height: 20px;
          padding: 0 3px;
          border-radius: 5px;
        }
      }
    }
    #header {
      height: 60px;
      padding: 0;
    }
    #heading {
      .opacity(0);
      height: 0;
    }
    #search {
      .opacity(1);
    }
    #searchForm {
      .opacity(1);
      .scale(1);
    }
    #grid {
      margin-top: 70px;
    }
    #ad {display: none}
  }
}

body.page-show {
  overflow: hidden;
  #header {
    .transition-normal(background-color);
    box-shadow: none!important;
  }
  #compactTogger:before {
    content: '\e60b';
  }
  #page {
    .opacity(0);
    .scale(.8);
    display: block;
  }
  #grid,
  #page {
    .transition-fast(opacity;
    transform;
    top);
  }
  &.page-show-in {
    #page {
      .opacity(1);
      .scale(1);
    }
    #grid {
      .opacity(0);
      .scale(.8);
      top: 100px;
    }
  }
  &[data-page-accent="blue"] {
    .page-accent(@color-blue; @color-blue-pale);
  }
  &[data-page-accent="primary"] {
    .page-accent(@color-primary; @color-pale);
  }
  &[data-page-accent="yellow"] {
    .page-accent(@color-yellow; @color-yellow-pale);
  }
  &[data-page-accent="green"] {
    .page-accent(@color-green; @color-green-pale);
  }
  &[data-page-accent="red"] {
    .page-accent(@color-red; @color-red-pale);
  }
  &[data-page-accent="brown"] {
    .page-accent(@color-brown; @color-brown-pale);
  }
  &[data-page-accent="purple"] {
    .page-accent(@color-purple; @color-purple-pale);
  }
}

@media (max-width: 767px) {
  #navbar .navbar-nav > li > a {border-radius: 0}
  #search {padding: 30px 10px 40px;}
  #ad {
    margin-top: -20px;

    > a {width: 250px;}
  }
  #grid .col {width: 100%}
  #page {
    top: 0;
    z-index: 1015;
  }
  #pageContent {
    padding-left: 0;
    &:before {
      display: none;
    }
  }
  #pageHeader > .container {
    padding-left: 60px;
  }
  #pageHeader > .container > .icon {
    left: 15px;
  }
  #pageContent > section:before {
    display: none;
  }
  #pageContent > section > header {
    &:before,
    &:after {
      display: none;
    }
    > h3 {
      position: relative;
      &:before {
        display: none;
      }
      &:after {
        content: @icon-minus-sign;
        .icon-zenicon();
        left: auto;
        right: -12px;
        top: 1px;
      }
    }
  }
  #pageContent > section.collapsed > header > h3:after {
    content: @icon-plus-sign;
  }
  body.compact-mode {
    #header {
      height: 433px;
    }
    #grid {
      margin-top: 463px;
    }
    #navbar .navbar-brand {
      .zui-version,
      .brand-title {
        display: none
      }
      #compactTogger {
        margin-left: 0;
        left: -12px;
      }
    }
    #search {
      left: 80px;
      right: 60px;
    }
    #searchInput {
      .placeholder(transparent);
    }
  }
  body.page-show {
    #navbar .navbar-toggle {
      margin-right: 0;
    }
  }
  body.input-query-focus.compact-mode {
    #search {
      left: 10px;
      right: 10px;
    }
    #searchInput {
      .placeholder(#e5e5e5);
      .placeholder(rgba(255, 255, 255, .5));
    }
    #navbar .navbar-brand,
    #navbar .navbar-toggle {
      display: none
    }
  }
}

body[data-page="basic-theme"] {
  @color-primary-inverse: contrast(@color-primary, #333, #fff);
  @color-primary-dark: darken(@color-primary, 10%);
  #pageHeader,
  #pageHeader > .container > h2 > a.name {
    background-color: @color-primary;
    color: @color-primary-inverse;
  }
  #pageHeader {
    border-color: @color-primary-dark;
  }
  &.page-show[data-page-accent=primary] #pageHeader > .wrapper > .icon {
    background-color: @color-primary-dark;
  }
  .path-btn {
    &:before,
    &:after,
    > .path-1,
    > .path-1:before,
    > .path-1:after {
      .transition-fast();
      border-color: #ddd;
      border-color: rgba(255, 255, 255, .7);
    }
  }
}

#changeViewWrapper {display: none}

@media (min-width: 1280px) {
  #changeViewWrapper {
    display: block;
    position: fixed;
    top: 14px;
    right: 15px;
    z-index: 1030;
  }

  #changeViewBtn {
    border-color: #fff;
    background-color: rgba(0,0,0, .1);
    border-color: rgba(0,0,0, 0);
    padding: 5px;
    min-width: 32px;

    &:hover,
    &:focus,
    &:active {background-color: rgba(0,0,0, .2);}
  }

  body.view-double.compact-mode-in.page-open {
    #changeViewBtn {color: #666;}
    &[data-page="basic-theme"] {
      #changeViewBtn {color: #fff;}
    }
    #navbar {
      width: 360px;
      left: 0;
      top: 0;
      padding: 10px 0!important;
      margin-bottom: 0;
      .navbar-header {
        float: none;
      }
      .navbar-toggle {
        display: block;
        float: right;
        margin-right: 0;
      }
      .navbar-collapse {
        display: none!important;
        &.in,
        &.collapsing {
          &:before {
            right: 10px;
          }
          > .navbar-right {
            float: none!important;
            margin-right: 0;
          }
          display: block!important;
          width: 140px;
          > .navbar-nav > li {
            float: none;
            > a {
              border-radius: 0;
            }
          }
        }
      }
      #compactTogger,
      .brand-title {display: none}
    }
    #headContainer {
      position: absolute;
      top: 0;
      right: 0;
      left: 0;

      > .container {width: 100%!important}
    }
    #search {
      padding: 0;
      right: 60px;
      width: 120px;
      left: auto;
      transition: width .2s;
    }
    #searchInput::placeholder {
      color: transparent;
      transition: color .2s;
    }
    &.input-query-focus {
      #search {
        width: 240px;
      }
      #navbar .zui-version {display: none}
      #searchInput::placeholder {color: rgba(255, 255, 255, .5)}
    }
    #header {
      position: fixed;
      left: 0;
      top: 0;
      height: 60px;
      width: 360px;
      padding-top: 60px;
    }
    #pageLoader {max-width: 1160px}
    #grid {
      position: fixed;
      padding: 10px 0;
      top: 60px;
      margin-top: 0;
      left: 0;
      bottom: 0;
      width: 360px;
      opacity: 1!important;
      transform: none!important;
      border-right: 1px solid @color-gray-light;
      overflow-y: auto;

      > .container {
        width: 100%!important;

        .row > .col {width: 100%;}
      }

      .chapter {margin-bottom: 10px;}

      .section-preview.icon-preview > .icons > .icon {
        &.icon-10x {font-size: 70px;}
        &.icon-5x {font-size: 42px;}
        &.icon-2x {font-size: 28px;}
      }
    }

    #pageCloseBtn {display: none}
    #pageReloadBtn {right: 15px;}

    #page {
      display: block!important;
      position: fixed;
      left: 360px;
      top: 0;
      right: 0;
      bottom: 0;
    }

    #pageHeader > .container {margin: 0 auto 0 15px;}
    #pageBody > .container {margin: 0 auto 0 10px;}

    > footer {
      position: fixed;
      left: 0;
      bottom: 0;
      width: 340px;
      background: rgba(255,255,255,.9);

      > .container {width: 100%!important;}

      hr {display: none}
      p {
        margin: 0;
        line-height: 20px;
        height: 20px;
      }
    }
  }
}

@keyframes scale-shape
{
  0%   {opacity: 0; transform: scale(0);}
  20% {opacity: 1; transform: scale(1);}
  100% {opacity: 1; transform: scale(1);}
}

#changeViewModal {
  .modal-dialog {
    max-width: 450px;
    overflow: hidden;
  }
  .modal-body {padding: 0}
  .view-shape {
    position: absolute;
    left: 20px;
    top: 15px;
    width: 120px;
    height: 100px;
    background-color: #fff;
    border: 1px solid @color-gray-light;
  }

  .view-option-single {
    .view-shape {
      &:before,
      &:after {
        display: block;
        content: ' ';
        position: absolute;
        top: 0;
      }

      &:before {
        height: 10px;
        background: @color-gray;
        right: 0;
        left: 0;
      }

      &:after {
        top: 12px;
        background: @color-gray-light;
        bottom: 0;
        right: 10px;
        left: 10px;
      }

      .s-1 {
        position: absolute;
        top: 13px;
        left: 11px;
        right: 11px;
        bottom: 0;
        background: #fafafa;
        z-index: 1;

        &:before,
        &:after {
          display: block;
          content: ' ';
          position: absolute;
          top: 5px;
          right: 5px;
          left: 5px;
          height: 30px;
          border-top: 5px solid #aaa;
          border-bottom: 5px solid #bbb;
        }

        &:after {
          top: 17px;
          right: 30px;
          border-color: #ccc;
        }
      }
    }
  }

  .view-option-double {
    .view-shape {
      &:before,
      &:after {
        display: block;
        content: ' ';
        position: absolute;
        top: 0;
        left: 0;
        width: 40px;
      }

      &:before {
        background: @color-gray;
        height: 10px;
      }

      &:after {
        top: 10px;
        bottom: 0;
        background: @color-gray-light;
      }

      .s-1 {
        position: absolute;
        top: 0;
        left: 42px;
        right: 0;
        bottom: 0;
        background: #fafafa;
        z-index: 1;

        &:before,
        &:after {
          display: block;
          content: ' ';
          position: absolute;
          top: 5px;
          right: 5px;
          left: 5px;
          height: 30px;
          border-top: 5px solid #aaa;
          border-bottom: 5px solid #bbb;
        }

        &:after {
          top: 17px;
          right: 30px;
          border-color: #ccc;
        }
      }
    }
  }

  .view-option {
    padding: 15px;
    padding-left: 160px;
    display: block;
    position: relative;
    min-height: 130px;
    cursor: pointer;

    > .title {
      font-size: 14px;
      color: #333;
      font-weight: bold;
      margin-bottom: 5px;
      opacity: .7;
    }
    &.active,
    &:hover,
    &:focus,
    &:active {
      background-color: @color-pale;
      color: @color-primary;
      text-decoration: none;

      .view-shape:before {
        background: @color-primary;
      }

      .view-shape .s-1 {
        animation: scale-shape 2s infinite linear normal;
      }

      > .title {opacity: 1}
    }

    &.active {
      background: @color-pale;
      > .title:after {
        content: '(当前)';
        [lang="en"] & {
          content: '(Current)';
        }
        color: @color-primary;
        display: inline-block;
        margin-left: 5px;
        font-weight: normal;
      }

      .view-shape {
        border-color: @color-primary;
        box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@color-primary, 20%);
      }
    }
  }
}
